package com.Thread.Demo8;

/**
 * @ClassName Printer
 * @Description TODO
 * @Author Kx
 * @Date 2025/3/12 19:10
 * @Version 1.0
 */
public class Printer {

    // 创建Lock锁
    private static Object lock = new Object();

    // 同步方法
//    public synchronized void print(String name,String message){
//        System.out.println(name + "：" + message);
//    }

    // 同步代码块(当前对象的同步监视器)
//    public void print(String name,String message){
//        synchronized (this){
//            System.out.println(name + "：" + message);
//        }
//    }
    // 同步代码块(类对象的同步监视器)
//    public void print(String name,String message){
//        synchronized (Printer.class){
//            System.out.println(name + "：" + message);
//        }
//    }
    // 同步代码块(自定义对象同步监视器)
    public void print(String name,String message){
        synchronized (lock) {
            System.out.println(name + "：" + message);
        }
    }
}
